I. Field of the Invention
The present invention generally relates to computer-implemented methods and systems for providing user interfaces. More particularly, the invention relates to methods and systems for providing an application for displaying data and/or interrogating user input within a pattern based user interface. The invention further relates to user interfaces on a computer for displaying data and/or interrogating user input within a pattern based user interface.
II. Background Information
In some software applications, such as Master Data Management (MDM) and other SAP software applications, data may be accessed using graphical user interfaces (UI). One possible user interface is a People Centric User Interface (PCUI), which may be a pattern based user interface (PBUI). Within pattern based user interfaces, different patterns may be defined. These patterns may define the arrangement of pattern components, such as search group containers, field group containers, toolbar group containers, tabstrip containers, or any other container. The containers may comprise fields to display data or buttons or menus in a defined manner. Further, pattern based user interfaces may define allowed combinations of user interface components on different hierarchy levels within an application. By that, it may be possible to define the positioning and sizing details for user interface components. The design and positioning object identification components and object editing components may be defined for objects in general.
Different patterns may be combined to build a floor plan. The floor plan may define the positioning of different patterns within a user interface. Using a floor plan, different applications may present their underlying data within a user interface, which may have the same look-and-feel according to the patterns. Different applications and functions with different types of data may use one floor plan. The floor plan may define where data is displayed and how data may be manipulated, even if the type of data may be different. The different data may, for example, be account management data, acquisition data, sales data, product data, analytics data, or any other business or non-business related data.
A pattern based user interface may provide a general structure of positioning and sizing of components within a display.
A pattern based user interface may be intuitive and easy to learn, as it may utilize the same patterns for navigation and layout on any screen within an application, as well as within different applications. Development of new screens of sub-applications within an application may become easier, as the pre-defined elements and patterns of the floor plan of the pattern based user interface may be used by the developers for new screens.
A pattern based user interface may be divided into different frames or windows. Each frame or window may represent one particular piece of information. Within each frame, one particular pattern may be used. The arrangement of the frames or windows may obey the floor plan of the PBUI. The look-and-feel of the frames and windows, however, may be always the same, as the same pattern may be used, independently of the application or sub-application.
The use of a pattern based user interface may have several advantages, including increased usability, simplicity, and uniformity across multiple applications, as well as within one single application. A user might not need to learn the navigation of a new user interface with each application.
However, a pattern based user interface may as well be rigid and inflexible, with respect to positioning of objects, thus limiting not only the user's choice and the programmers' ability to develop new functionality within the context of available patterns of a pattern based user interface. In general, a pattern based user interface does not permit freestyle programming, such that it may be impossible to design a frame or window according to actual needs. It is not possible to use programming languages, such as hypertext markup language (HTML) or any other programming language, allowing positioning of objects freely within a frame. The use of patterns limits the user's choices. This may reduce the frequency and types of user-introduced data errors made when the user selects by mistake the wrong option or functionality or enters the wrong data without a noticing the mistake.